- ./tests/fedora-str/provision.sh
# TODO: enhance papr to have caching, a bit like https://docs.travis-ci.com/user/caching/
- curl -Lo fedora-atomic-host.qcow2 https://getfedora.org/atomic_qcow2_latest
- - env "TEST_SUBJECTS=$(pwd)/fedora-atomic-host.qcow2" ./tests/fedora-str/run.sh
+ - env "TEST_SUBJECTS=$(pwd)/fedora-atomic-host.qcow2" ./tests/fedora-str/playbook-run.sh tests/fedora-str/tests.yml
artifacts:
- tests/fedora-str/artifacts/fedora-atomic-host.qcow2.log
----
-- hosts: localhost
- tags:
- - atomic
- remote_user: root
- tasks:
- - command: ostree --version
- changed_when: False
- register: ostree_orig_version
- - set_fact:
- ostree_orig_version_yaml: "{{ ostree_orig_version.stdout | from_yaml }}"
- - name: Copy locally built RPMs
- synchronize: src=x86_64/ dest=/root/x86_64/ archive=yes
- - shell: ostree admin unlock || true
- # Install the RPMs we already have. For the test suite we use rpm2cpio
- # since it depends on libsoup, but we're not using that yet for the sysinstalled tests
- - shell: >
- /usr/bin/rpm -Fvh /root/x86_64/*.rpm && \
- cd / && rpm2cpio /root/x86_64/ostree-tests-2*.rpm | cpio -div
- - command: ostree --version
- register: ostree_new_version
- - set_fact:
- ostree_new_version_yaml: "{{ ostree_new_version.stdout | from_yaml }}"
- - name: "Fail if we didn't change the ostree version"
- when: ostree_orig_version_yaml['libostree']['Git'] == ostree_new_version_yaml['libostree']['Git']
- fail:
- msg: "Failed to change ostree version"
+# Run "admin unlock" and add locally built RPMs, then
+# copy the whole tests/ directory into the VM.
+- command: ostree --version
+ changed_when: False
+ register: ostree_orig_version
+- set_fact:
+ ostree_orig_version_yaml: "{{ ostree_orig_version.stdout | from_yaml }}"
+- name: Copy locally built RPMs
+ synchronize: src=x86_64/ dest=/root/x86_64/ archive=yes
+- shell: ostree admin unlock || true
+# Install the RPMs we already have. For the test suite we use rpm2cpio
+# since it depends on libsoup, but we're not using that yet for the sysinstalled tests
+- shell: >
+ /usr/bin/rpm -Fvh /root/x86_64/*.rpm && \
+ cd / && rpm2cpio /root/x86_64/ostree-tests-2*.rpm | cpio -div
+- command: ostree --version
+ register: ostree_new_version
+- set_fact:
+ ostree_new_version_yaml: "{{ ostree_new_version.stdout | from_yaml }}"
+- name: "Fail if we didn't change the ostree version"
+ when: ostree_orig_version_yaml['libostree']['Git'] == ostree_new_version_yaml['libostree']['Git']
+ fail:
+ msg: "Failed to change ostree version"
- # Next copy all of the tests/ directory
- - name: Copy test data
- synchronize: src=../../ dest=/root/tests/ archive=yes
+# Next copy all of the tests/ directory
+- name: Copy test data
+ synchronize: src=../../ dest=/root/tests/ archive=yes
--- /dev/null
+#!/usr/bin/bash
+# A thin wrapper for ansible-playbook which has a nice check for
+# TEST_SUBJECTS being set.
+set -xeuo pipefail
+
+# https://fedoraproject.org/wiki/CI/Tests
+if test -z "${TEST_SUBJECTS:-}"; then
+ cat <<EOF
+
+error: TEST_SUBJECTS must be set; e.g.:
+
+ curl -Lo fedora-atomic-host.qcow2 'https://getfedora.org/atomic_qcow2_latest'
+ export TEST_SUBJECTS=\$(pwd)/fedora-atomic-host.qcow2
+
+If you're doing interactive development, we recommend caching the qcow2
+somewhere persistent.
+EOF
+ exit 1
+fi
+ls -al ${TEST_SUBJECTS}
+
+export ANSIBLE_INVENTORY=${ANSIBLE_INVENTORY:-$(test -e inventory && echo inventory || echo /usr/share/ansible/inventory)}
+ls -al /dev/kvm
+exec ansible-playbook --tags=atomic "$@"
+++ /dev/null
-#!/usr/bin/bash
-set -xeuo pipefail
-
-dn=$(cd $(dirname $0) && pwd)
-cd ${dn}
-
-# https://fedoraproject.org/wiki/CI/Tests
-if test -z "${TEST_SUBJECTS:-}"; then
- cat <<EOF
-
-error: TEST_SUBJECTS must be set; e.g.:
-
- curl -Lo fedora-atomic-host.qcow2 'https://getfedora.org/atomic_qcow2_latest'
- export TEST_SUBJECTS=\$(pwd)/fedora-atomic-host.qcow2
-
-If you're doing interactive development, we recommend caching the qcow2
-somewhere persistent.
-EOF
- exit 1
-fi
-ls -al ${TEST_SUBJECTS}
-
-export ANSIBLE_INVENTORY=${ANSIBLE_INVENTORY:-$(test -e inventory && echo inventory || echo /usr/share/ansible/inventory)}
-ls -al /dev/kvm
-ansible-playbook --tags=atomic tests.yml
----
-- hosts: localhost
- tags:
- - atomic
- remote_user: root
- tasks:
- # Down the line perhaps do each log file separately?
- - name: Run sysinstalled tests
- shell: /root/tests/installed/run.sh &> /root/installed-tests.log
- register: sysinstalled_result
- failed_when: False
- - name: Fetch sysinstalled results
- fetch:
- src: /root/installed-tests.log
- dest: artifacts/installed-tests.log
- flat: yes
- - name: Assert that sysinstalled tests succeeded
- when: sysinstalled_result.rc != 0
- fail:
- msg: "sysinstalled tests failed"
+# Run the system installed tests
+- import_tasks: overlay-git.yml
+ when: use_git_build
+# Down the line perhaps do each log file separately?
+- name: Run sysinstalled tests
+ shell: /root/tests/installed/run.sh &> /root/installed-tests.log
+ register: sysinstalled_result
+ failed_when: False
+- name: Fetch sysinstalled results
+ fetch:
+ src: /root/installed-tests.log
+ dest: artifacts/installed-tests.log
+ flat: yes
+- name: Assert that sysinstalled tests succeeded
+ when: sysinstalled_result.rc != 0
+ fail:
+ msg: "sysinstalled tests failed"
-- include: overlay-git.yml
-- include: sysinstall-tests.yml
+# This entrypoint right now just runs the sysinstalled-tests.
+---
+- hosts: localhost
+ tags:
+ - atomic
+ remote_user: root
+ vars:
+ use_git_build: True
+ tasks:
+ - import_tasks: sysinstall-tests.yml